Introduction to gray code